package model

import "encoding/json"

type SimCardRechargeRecordCreateRequest struct {
	Id             int64           `json:"id"`
	PrepaidId      *int64          `json:"prepaid_id"`
	EbikeId        int64           `json:"ebike_id"`
	CardId         int64           `json:"card_id"`
	AgentId        int64           `json:"agent_id"`
	AgentDetail    json.RawMessage `json:"agent_detail"`
	RechargeDetail json.RawMessage `json:"recharge_detail"`
	Iccid          string          `json:"iccid"`
	RechargeAt     int64           `json:"recharge_at"`
	Status         int             `json:"status"`
	Reason         string          `json:"reason"`
	CreatedAt      int64           `json:"created_at"`
	UpdatedAt      int64           `json:"updated_at"`
}
type SimCardRechargeRecordUpdateRequest struct {
	Id             *int64          `json:"id"`
	EbikeId        *int64          `json:"ebike_id"`
	CardId         *int64          `json:"card_id"`
	PrepaidId      *int64          `json:"prepaid_id"`
	AgentId        *int64          `json:"agent_id"`
	AgentDetail    json.RawMessage `json:"agent_detail"`
	Iccid          *string         `json:"iccid"`
	RechargeAt     *int64          `json:"recharge_at"`
	Status         *int            `json:"status"`
	Reason         *string         `json:"reason"`
	RechargeDetail json.RawMessage `json:"recharge_detail"`
	CreatedAt      *int64          `json:"created_at"`
	UpdatedAt      *int64          `json:"updated_at"`
}
type SimCardRechargeRecordListRequest struct {
	Id             *int64          `json:"id"`
	EbikeId        *int64          `json:"ebike_id"`
	PrepaidId      *int64          `json:"prepaid_id"`
	CardId         *int64          `json:"card_id"`
	AgentId        *int64          `json:"agent_id"`
	AgentDetail    json.RawMessage `json:"agent_detail"`
	Iccid          *string         `json:"iccid"`
	RechargeAt     *int64          `json:"recharge_at"`
	Status         *int            `json:"status"`
	Reason         *string         `json:"reason"`
	RechargeDetail json.RawMessage `json:"recharge_detail"`
	CreatedAt      *int64          `json:"created_at"`
	UpdatedAt      *int64          `json:"updated_at"`
	Index          int             `json:"index"`
	Size           int             `json:"size"`
}
type SimCardRechargeRecordListResponse struct {
	Total int                          `json:"total"`
	List  []*SimCardRechargeRecordInfo `json:"list"`
}
type SimCardRechargeRecordInfoRequest struct {
	Id int64 `json:"id"`
}
type SimCardRechargeRecordInfo struct {
	Id             int64           `json:"id"`
	EbikeId        int64           `json:"ebike_id"`
	PrepaidId      int64           `json:"prepaid_id"`
	CardId         int64           `json:"card_id"`
	AgentId        int64           `json:"agent_id"`
	AgentDetail    json.RawMessage `json:"agent_detail"`
	Iccid          string          `json:"iccid"`
	RechargeAt     int64           `json:"recharge_at"`
	Status         int             `json:"status"`
	Reason         string          `json:"reason"`
	RechargeDetail json.RawMessage `json:"recharge_detail"`
	CreatedAt      int64           `json:"created_at"`
	UpdatedAt      int64           `json:"updated_at"`
}
type SimCardRechargeRecordDeleteRequest struct {
	Id int64 `json:"id"`
}
